@@ -103,6 +103,14 @@ class Agent < ActiveRecord::Base |
||
| 103 | 103 |
keep_events_for > 0 ? keep_events_for.days.from_now : nil |
| 104 | 104 |
end |
| 105 | 105 |
|
| 106 |
+ def update_event_expirations! |
|
| 107 |
+ if keep_events_for == 0 |
|
| 108 |
+ events.update_all :expires_at => nil |
|
| 109 |
+ else |
|
| 110 |
+ events.update_all "expires_at = DATE_ADD(`created_at`, INTERVAL #{keep_events_for.to_i} DAY)"
|
|
| 111 |
+ end |
|
| 112 |
+ end |
|
| 113 |
+ |
|
| 106 | 114 |
def make_message(payload, message = options[:message]) |
| 107 | 115 |
message.gsub(/<([^>]+)>/) { Utils.value_at(payload, $1) || "??" }
|
| 108 | 116 |
end |
@@ -151,6 +159,11 @@ class Agent < ActiveRecord::Base |
||
| 151 | 159 |
log(message, options.merge(:level => 4)) |
| 152 | 160 |
end |
| 153 | 161 |
|
| 162 |
+ def delete_logs! |
|
| 163 |
+ logs.delete_all |
|
| 164 |
+ update_column :last_error_log_at, nil |
|
| 165 |
+ end |
|
| 166 |
+ |
|
| 154 | 167 |
# Validations and Callbacks |
| 155 | 168 |
|
| 156 | 169 |
def sources_are_owned |
@@ -181,25 +194,8 @@ class Agent < ActiveRecord::Base |
||
| 181 | 194 |
update_event_expirations! if keep_events_for_changed? |
| 182 | 195 |
end |
| 183 | 196 |
|
| 184 |
- def delete_logs! |
|
| 185 |
- logs.delete_all |
|
| 186 |
- update_column :last_error_log_at, nil |
|
| 187 |
- end |
|
| 188 |
- |
|
| 189 |
- def log(message, options = {})
|
|
| 190 |
- puts "Agent##{id}: #{message}" unless Rails.env.test?
|
|
| 191 |
- AgentLog.log_for_agent(self, message, options) |
|
| 192 |
- end |
|
| 193 |
- |
|
| 194 |
- def update_event_expirations! |
|
| 195 |
- if keep_events_for == 0 |
|
| 196 |
- events.update_all :expires_at => nil |
|
| 197 |
- else |
|
| 198 |
- events.update_all "expires_at = DATE_ADD(`created_at`, INTERVAL #{keep_events_for.to_i} DAY)"
|
|
| 199 |
- end |
|
| 200 |
- end |
|
| 201 |
- |
|
| 202 | 197 |
# Class Methods |
| 198 |
+ |
|
| 203 | 199 |
class << self |
| 204 | 200 |
def cannot_be_scheduled! |
| 205 | 201 |
@cannot_be_scheduled = true |
@@ -458,7 +458,7 @@ describe Agent do |
||
| 458 | 458 |
|
| 459 | 459 |
it "sets expires_at on created events" do |
| 460 | 460 |
event = agents(:jane_weather_agent).create_event :payload => { 'hi' => 'there' }
|
| 461 |
- event.expires_at.should be_within(5).of(agents(:jane_weather_agent).keep_events_for.days.from_now) |
|
| 461 |
+ event.expires_at.to_i.should be_within(5).of(agents(:jane_weather_agent).keep_events_for.days.from_now.to_i) |
|
| 462 | 462 |
end |
| 463 | 463 |
end |
| 464 | 464 |
|